package com.qf.servlet;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;

import javax.servlet.http.HttpSession;

/**
 *
 * 跳转，请求转发与重定向
 *
 * 如果使用重定向或者请求转发，那么视图解析器就没有作用了
 *
 */
@SuppressWarnings("all")
@Controller
@SessionAttributes(names = {"id","name"})
public class SkipServlet {
    /**
     * 请求转发
     * 请求域存储数据 使用Model、ModelMap(建议)、ModelAndView
     */
    @RequestMapping("/forward")
    public String testForward(ModelMap modelMap){
        modelMap.put("username", "老弟大牛子");
//        model.addAttribute("username", "老吴大牛子");
        System.out.println("请求转发");
        return "forward:/jsp/hello.jsp";
    }
    /**
     * 重定向,需要指定数据存储到session域中,但是有一个缺点就是重定向后
     *          session中的数据会显示在地址路径上，所以用Httpsession
     *
     * 两种存入域中的方法
     * @SessionAttributes  参数是字符串数组
     * Httpsession
     */
    @RequestMapping("/redi")
    public String testRedirect(HttpSession session){

        session.setAttribute("id", 50);
        session.setAttribute("name", "葛二蛋");
//        model.addAttribute("id", 100);
//        model.addAttribute("name", "我是你爹");

        System.out.println("重定向");
        return "redirect:/jsp/hello2.jsp";
    }

}
